home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-20 / mb1309.zip / MB1309.EXE / MB.DOC < prev    next >
Text File  |  1992-01-01  |  11KB  |  327 lines

  1.  
  2.      W0RLI MailBox                      Page    1
  3.  
  4.  
  5.  
  6.      Created for packet community by:
  7.  
  8.       Hank Oredson, W0RLI
  9.       21390 Shannon Lane
  10.       West Linn, OR 97068
  11.  
  12.  
  13.      The code will run under DoubleDOS or DESQView.
  14.  
  15.      The code will run under Microsoft Windows, but there will
  16.      probably be difficulties with the serial ports. These difficulties
  17.      will appear as lost characters from the tncs. If it works for you,
  18.      please let me know - what machine, how many ports, which ports,
  19.      how did you set it up, etc. etc. I do not have Microsoft Windows,
  20.      so cannot check this myself.
  21.  
  22.  
  23.        Running multiple copies of the MailBox.
  24.  
  25.      To run multiple copies, simply execute MB again in another window
  26.      or partition. All files and ports may be shared by up to 8 copies
  27.      of MB. Each copy will create it's own log file.
  28.  
  29.  
  30.       Bringing things up for the first time.
  31.  
  32.  
  33.      1) Prepare an AUTOEXEC.BAT file:
  34.  
  35. The supplied serial device driver (MBBIOS from AA4RE) replaces
  36. the standard INT 14 drivers included in the IBM ROM BIOS.
  37.  
  38. MBBIOS     supports many different serial boards. See MBBIOS.DOC for details.
  39. MBBIOS     was created by Roy, AA4RE.
  40.  
  41. Example driver setup as it might appear in your AUTOEXEC.BAT
  42.  
  43.  
  44. LM
  45. SHARE
  46. MBBIOS
  47. MBMODE COM1:12,n,8,1
  48. MBMODE COM3:96,n,8,1
  49. MBMODE COM4:96,n,8,1
  50. MBMODE COM5:96,n,8,1
  51. MBMODE COM6:96,n,8,1
  52. MBMODE COM7:96,e,7,1
  53. MBINIT
  54.  
  55. Note that LM and SHARE have also been loaded. LM is the MailBox
  56. Lock Manager, SHARE is the MS-DOS file sharing utility.
  57.  
  58.  
  59.      2) Edit INIT.MB, MOTD.MB, INFO.MB, CONFIG.MB, NEWUSER.MB, FWD.MB
  60.     for your site and configuration.
  61.  
  62. Put in your call, name, qth, and zip (or postal) code in the appropriate
  63. places. Set up various subdirectories for user files and for MailBox working
  64. files. Setup the port definitions to correspond to the hardware on your
  65. computer.
  66.  
  67.  
  68.      3) Plug in the tncs.
  69.  
  70. Make sure they are set for hardware handshake. See the *.SET files for
  71. examples of correct tnc parameter settings.
  72.  
  73.  
  74.      4) Put it on the air!
  75.  
  76.      W0RLI MailBox                      Page    2
  77.  
  78.     Files on the distribution disk:
  79.  
  80. - The MailBox programs:
  81.  
  82.    MB.EXE    -  The MailBox program.
  83.    MBINIT.EXE    -  The MailBox initialization.
  84.    MBMODE.EXE    -  Replacement for MODE command, supports COM1 - COM16.
  85.    MBSTAT.EXE    -  MailBox status display.
  86.    NW.EXE    -  The NetWalker.
  87.    PRTLOG.EXE    -  Log file analyzer.
  88.    RECOVER.EXE    -  Message and User file recovery program.
  89.    SERVER.EXE    -  MailBox server driver.
  90.    LM.COM    -  MailBox Lock Manager and Task Control.
  91.  
  92. - Documentation and other text files:
  93.  
  94.    README    -  Basic information on getting started.
  95.    *.DOC    -  Release notes, tech notes, installation notes, etc.
  96.    PK232.SET    -  Setup parameter list for PK-232 and PK-87.
  97.    KAM.SET    -  Setup parameter list for KAM.
  98.    KPC4.SET    -  Setup parameter list for KPC-4.
  99.    TNC1.SET    -  Setup paramater list for TNC1.
  100.    TNC2.SET    -  Setup parameter list for TNC2.
  101.  
  102. MailBox support files. These MUST be in directory \BBS:
  103.  
  104.    CONFIG.MB    -  Configuration data, error messages, etc.
  105.    HELP.MB    -  Text of the "H" command.
  106.    INIT.MB    -  Information about the system owner.
  107.    INFO.MB    -  Text of the "I" command.
  108.    MOTD.MB    -  Text of the login message.
  109.    NEWUSER.MB    -  Text sent to user at their first login.
  110.    SERVER.MB    -  Server definition information.
  111.    FWD.MB    -  Routing tables for forwarding messages.
  112.  
  113. The following files are created and maintainted by the MailBox.
  114. They will appear in directory \BBS:
  115.  
  116.    BID.MB    - Log of Message Identifiers.
  117.    CALLS.MB  - All calls heard by the MailBox.
  118.    MON.MB    - The saved "J" lists.
  119.    WP.MB     - The user database.
  120.    MAIL.MB   - The message database.
  121.    YYMMLOG.n - The log files. A text file that contains the user log.
  122.            A seperate log is kept by each copy of the program.
  123.            YYMM is the curent year and month.
  124.  
  125.  
  126. The cable between the computer and the TNC should have pins 2,3,4,5,7 and 20
  127. connected. Hardware flow control (CTS/RTS) is used in both directions.
  128.  
  129.      W0RLI MailBox                      Page 3
  130.  
  131.  
  132.          Known restrictions.
  133.  
  134.  
  135. There can be at most 100 pending different message destinations. These
  136. are the calls that show in the beacon text plus any calls in AT fields
  137. of messages that have not been forwarded. The only time this might cause
  138. a problem is if you keep many bulletins on the system, and they are
  139. not marked as read ("Y") or forwarded ("F").
  140.  
  141.  
  142.  
  143.  
  144.          Message manipulation.
  145.  
  146. One problem that confronts the sysop from time to time is the message
  147. that has the wrong type, wrong distribution list, etc. There are two ways
  148. to correct this problem.
  149.  
  150. 1) Use the "E" command and edit the message header. Because of the many
  151.    possibilities, this command is limited in scope. For simple changes,
  152.    such as "unkilling" a message, it will work. It will not create a
  153.    distribution list.
  154.  
  155. 2) Copy the message to a file and then make a new message.
  156.    This is simpler than it sounds. It requires two commands.
  157.    Here is an example. Assume someone sent a message to KB6BHN, and
  158.    instead of using SP KB6BHN @ W0RLI used instead SB KB6BHN @ ALLUSA.
  159.    Assume it was message number 325.
  160.  
  161.    First put the message into a file using the F command:
  162.    F 325 J
  163.    This puts the message into file J.
  164.  
  165.    Then make the new message:
  166.    MP J KB6BHN @ W0RLI
  167.    You can either enter the orignal title, or, since you had to do
  168.    all this work to correct a users error, just give the new message
  169.    a blank title!
  170.  
  171.    Now kill the orignal message.
  172.    K 325
  173.  
  174.  
  175.      W0RLI MailBox                      Page 4
  176.  
  177.  
  178.      PRTLOG.EXE - The log file analyzer.
  179.  
  180.     PRTLOG OUT.PRT -opt
  181.  
  182. The output is placed in file OUT.PRT.
  183.  
  184. Options: -L lists the entire log.
  185.      With no options you get the usual monthly summary.
  186.  
  187. PRTLOG prompts for the names of log files to process.
  188.  
  189.  
  190.  
  191.        Log file format
  192.  
  193.    Each line in the log file contains an event code, the date and time,
  194.    followed by further information about the event.
  195.  
  196.    'C' - User connected to system.
  197.  
  198.       'A' -> 'K' - A user connected on that port.
  199.     Next char shows type of connect: "U" - User, "S" - bbs.
  200.  
  201.       'L' - User was linked via the station that just connected.
  202.       'S' - "connect" from local console (sysop).
  203.  
  204.    'X' - Exit.
  205.  
  206.       'A' - Owner put MailBox on line.
  207.       'B' - User said good bye.
  208.       'D' - User disconnected.
  209.       'E' - Excluded user attempted connect.
  210.       'F' - User forced off by sysop.
  211.       'I' - Pogram startup. Note: connect on port I will have IS or IU.
  212.       'Q' - Exit from program.
  213.       'T' - Timeout, forced disconnect.
  214.  
  215.    'F' - File event. Command line shown as user entered it.
  216.  
  217.       'D'  - File downloaded.
  218.       'K'  - File deleted.
  219.       'U'  - File uploaded.
  220.  
  221.    'M' - Message event. Message number always shown.
  222.  
  223.       'D'  - Message copied to file.
  224.       'E'  - Message exported.
  225.       'F'  - Message forwarded.
  226.       'FE' - End of forwarding session.
  227.       'FR' - Start of reverse forwarding within forwarding session.
  228.       'FS' - Start of forwarding session.
  229.       'FZ' - Message forwarded. Message size shown.
  230.       'K'  - Message killed. Note KS is auto-kill of old bulletin.
  231.       'P'  - Message printed.
  232.       'R'  - Message read.
  233.       'SE' - End of server session.
  234.       'SS' - Start of server session.
  235.       'Z'  - Message entered. Message size shown.
  236.  
  237.       'C'  - Message entered. Obsolete log entry format.
  238.       'M'  - Message entered. Obsolete log entry format.
  239.       'S'  - Message entered. Obsolete log entry format.
  240.  
  241.    'H' - Houskeeping event.
  242.  
  243.       'S'  - Start of Housekeeping.
  244.       'B'  - Cleaned up BID.MB.
  245.       'G'  - Did Auto-GM.
  246.       'O'  - Marked old messaged, killed old bulletins.
  247.       'U'  - Created WP Update message.
  248.       'E'  - End of Housekeeping.
  249.  
  250.    'R' - RoundTable event. Generated by RT.EXE into RT.LOG.
  251.  
  252.       'E'  - End of RoundTable execution.
  253.       'J'  - Station joined the RoundTable.
  254.       'L'  - Station left the RoundTable.
  255.       'S'  - Start of RoundTable execution.
  256.  
  257.  
  258. The following provided by AD8I :
  259.  
  260. Contrary to MOST explanations, dropped characters are not due to
  261. DESQview or other multi-taskers.  The problem happens for two
  262. reasons.  First, overrun of the serial ports (eg. the TNC is
  263. sending data to the computer faster than the computer can handle
  264. it).  Second, due to shutting off the interrupts.
  265.  
  266. All serial ports drivers commonly used by W0RLI and WA7MBL PBBS
  267. programs are interrupt driven.    When the UART (normally an 8250
  268. [XT] or 16450 [AT]) receives a character on the serial port, the
  269. following happens:
  270.  
  271.     1) the serial port issues a HARDWARE interrupt by raising one
  272.        of the IRQ lines on the bus.
  273.  
  274.     2) the 8259 programmable interrupt controller sees the change
  275.        in the IRQ and tells the CPU to stop whatever it is doing
  276.        and branch to the code for handling the interrupt (MBBIOS).
  277.  
  278.     3) our interrupt handler (eg. MBBIOS) takes the character from
  279.        the UART and moves it to a buffer area in memory reserved
  280.        (by MBBIOS) for storing input until it can be processed.
  281.  
  282.     4) when the character has been moved to memory, the interrupt
  283.        handler returns control to whatever was happening before
  284.        the interrupt
  285.  
  286. When there are high speed ports on a ("slow") CPU, eg. mulitple 9600
  287. baud TNC links to a 4.77 MHz V20 CPU,  it is possible, even likely,
  288. that another characer will be received before the first has been
  289. handled.  When this happens, characters are dropped.
  290.  
  291. Some disk caches (eg. VDISK) use EXTENDED memory in an AT (80286).
  292. Due to the design of the 80286, these caches must disable interrupts
  293. when moving data to or from the cache.
  294.  
  295. Most single character errors are of the first type while most multi-
  296. character errors are of the second type.  NO amount of "tweaking"
  297. the DESQview time slices will solve either problem since the serial
  298. port drivers load before DESQview.  The port interrupts whatever
  299. DESQview is doing to allow the serial drivers to do their thing.
  300. In a VERY busy system DESQview (and the various MB tasks) will actually
  301. come to a halt if there is too much I/O activity (both serial and
  302. disk I/O).
  303.  
  304. There two approaches to solve the port overrun problem:
  305.  
  306.     1) Use UARTS with INTERNAL buffers.  For example, the 16550 is a
  307.        direct replacement for the 8250 and 16450 with an internal 16
  308.        byte (character) buffer that can be used by software designed
  309.        for the purpose.  The 8530 HDLC chip used in the DRSI PC*PA
  310.        includes a 4 byte buffer.
  311.  
  312.        MBBIOS, FBIOS and G8BPQ's ASYNC support (NET/ROM and KISS
  313.        protocols) protocols could be easily modified to detect,
  314.        enable, and use the buffer in the 16550 if the software
  315.        writers chose to do so.
  316.  
  317.     2) Use TNCs operated in HOST mode.    In host mode, the computer
  318.        polls each TNC for data at its own pace.  The computer can
  319.        make use of the buffers IN THE TNC to hold data until the
  320.        computer is ready to handle it.    When the computer is ready,
  321.        it can empty the buffer on one TNC at a time.  (The AA4RE
  322.        BB software uses this technique.)
  323.  
  324. The only way to solve problems caused by shutting off the interrupts
  325. is to eliminate the EXTENDED memory disk cache.
  326.  
  327.